Part Number Hot Search : 
MM74HC 40812 HMS87C HD020521 HDC135 K03B7 KADN4015 CAT508BP
Product Description
Full Text Search
 

To Download IDT821054APFG Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  1 the idt logo is a registered trademark of integrated device technology, inc. industrial temperature range ? 2003 integrated device technology, inc. december 08, 2003 dsc-6224/3 features ? 4-channel codec with on-chip digital filters ? software selectable a/ -law, linear code conversion ? meets itu-t g.711 - g.714 requirements ? programmable digital filters adapting to system demands: - ac impedance matching - transhybrid balance - frequency response correction - gain setting ? supports two programmable pcm buses ? flexible pcm interface with up to 128 programmable time slots, data rate from 512 kbits/s to 8.192 mbits/s ? mpi control interface ? broadcast mode for coefficient setting ? 7 slic signaling pins (including 2 debounced pins) per channel ? fast hardware ring trip mechanism ? 2 programmable tone genera tors per channel for testing, ringing and dtmf generation ? two programmable chopper clocks ? master clock frequency selectab le: 1.536 mhz, 1.544 mhz, 2.048 mhz, 3.072 mhz, 3.088 mhz, 4.096 mhz, 6.144 mhz, 6.176 mhz or 8.192 mhz ? advanced test capabilities: - 3 analog loopback tests - 5 digital loopback tests - level metering function ? high analog driving capability (300 ? ac) ? ttl/cmos compatible digital i/o ? codec identification ? +5 v single power supply ? low power consumption ? operating temperature range: -40 c to +85 c ? package available: 64 pin tqfp functional block diagram filter and a/d d/a and filter slic signaling ch1 vin1 vout1 2 inputs 3 i/os 2 outputs ch2 dsp core ch4 general control logic pll and clock generation pcm interface reset int12 dr2 dx1 mclk chclk1 chclk2 fs bclk filter and a/d d/a and filter slic signaling ch3 2 inputs 3 i/os 2 outputs vin3 vout3 mpi interface cclk ci co cs int34 tsx2 tsx1 dr1 dx2 quad programmable pcm codec with mpi interface idt821054a
2 idt821054a quad programmable pcm co dec with mpi interface industrial temperature description the idt821054a is a feature rich , single-chip, programmable 4- channel pcm codec with on-chip filters. besides the -law/a-law companding and linear coding/decoding ( 14 effective bits + 2 extra sign bits), the idt821054a also provi des 2 programmable tone generators per channel (which can generate ring signals) and 2 programmable chopper clocks for slics. the digital filters in the idt 821054a provide necessary transmit and receive filtering for voice telephone circui ts to interface with time-division multiplexed systems. an integr ated programmable dsp realizes ac impedance matching, transhybrid balance, frequency response correction and gain adjustment f unctions. the idt821054a supports 2 pcm buses with programmable sampling edge, which allows an extra delay of up to 7 clocks. once the delay is determined, it is effective to all four channels of the idt821054a. the de vice also provides 7 signaling pins per channel for slics. the idt821054a is programmed vi a a microprocessor interface (mpi). two pcm buses are provi ded to transfer the compressed or linear pcm data. the device offers strong test capab ility with several analog/digital loopbacks and level metering function. it brings convenience to system maintenance and diagnosis. a unique feature of ?hardware ring trip? is implemented in the idt821054a. when an off-hook signal is detected, the idt821054a will reverse an output pin to stop the ringing signal immediately. the idt821054a can be used in digital telecommunication applications such as central office switch, pbx, dlc and integrated access devices (iads), i.e. voip and vodsl. pin configuration si2_2 si1_2 sb3_2 sb2_2 sb1_2 so2_2 so1_2 so1_1 so2_1 sb1_1 sb2_1 sb3_1 si1_1 si2_1 int12 chclk1 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 vin1 gnda1 vout1 vdda12 vout2 gnda2 vin2 cnf vddb vin3 gnda3 vout3 vdda34 vout4 gnda4 vin4 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 si2_3 si1_3 sb3_3 sb2_3 sb1_3 so2_3 so1_3 so1_4 so2_4 sb1_4 sb2_4 sb3_4 si1_4 si2_4 int34 chclk2 bclk fs dr2 dx2 tsx2 dr1 dx1 tsx1 vddd reset mclk gndd co ci cclk cs idt821054a 64 pin tqfp
3 idt821054a quad programmable pcm co dec with mpi interface industrial temperature table of contents 1 pin description............................................................................................................... ....................................................................................7 2 functional description ........................................................................................................ ..............................................................................9 2.1 mpi/pcm interface ........................................................................................................... .........................................................................9 2.1.1 microprocessor interface (mpi) ............................................................................................ ........................................................9 2.1.2 pcm bus ................................................................................................................... .................................................................10 2.2 dsp programming............................................................................................................. ......................................................................11 2.2.1 signal processing......................................................................................................... ..............................................................11 2.2.2 gain adjustment........................................................................................................... ..............................................................11 2.2.3 impedance matching ....................................................................................................... ..........................................................11 2.2.4 transhybrid balance ....................................................................................................... ...........................................................12 2.2.5 frequency response correction............................................................................................. ...................................................12 2.3 slic control ................................................................................................................ ............................................................................12 2.3.1 si1 and si2............................................................................................................... ..................................................................12 2.3.2 sb1, sb2 and sb3 .......................................................................................................... ...........................................................12 2.3.3 so1 and so2 ............................................................................................................... ..............................................................12 2.4 hardware ring trip .......................................................................................................... .......................................................................12 2.5 interrupt and interrupt enable.............................................................................................. ....................................................................12 2.6 debounce filters ............................................................................................................ .........................................................................13 2.7 chopper clock............................................................................................................... ..........................................................................13 2.8 dual tone and ring generation............................................................................................... ...............................................................13 2.9 level metering .............................................................................................................. ...........................................................................14 2.10 channel power down/standby mode............................................................................................ ..........................................................14 2.11 power down/suspend mode .................................................................................................... ...............................................................14 3 operating the idt821054a ...................................................................................................... .......................................................................15 3.1 programming description ..................................................................................................... ...................................................................15 3.1.1 command type and format ................................................................................................... ...................................................15 3.1.2 addressing the local registers............................................................................................ ......................................................15 3.1.3 addressing the global registers........................................................................................... .....................................................15 3.1.4 addressing the coe-ram.................................................................................................... .......................................................15 3.1.5 programming examples ...................................................................................................... .......................................................16 3.1.5.1 example of programming local registers .................................................................................. ...............................16 3.1.5.2 example of programming global registers................................................................................. ...............................16 3.1.5.3 example of programming the coefficient-ram.............................................................................. ............................16 3.2 power-on sequence ........................................................................................................... .....................................................................19 3.3 default state after reset................................................................................................... ......................................................................19 3.4 registers description ....................................................................................................... .......................................................................20 3.4.1 registers overview ........................................................................................................ ............................................................20 3.4.2 global registers list ..................................................................................................... .............................................................22 3.4.3 local registers list ...................................................................................................... ..............................................................28 4 absolute maximum ratings ...................................................................................................... ......................................................................32 5 recommended dc operat ing conditions ........................................................................................... ..........................................................32 6 electrical characteristics .................................................................................................... ............................................................................32 6.1 digital interface........................................................................................................... .............................................................................32 6.2 power dissipation........................................................................................................... .........................................................................32 6.3 analog interface ............................................................................................................ ..........................................................................33 7 transmission characteristics .................................................................................................. .......................................................................34 7.1 absolute gain ............................................................................................................... ...........................................................................34 7.2 gain tracking ............................................................................................................... ...........................................................................34 7.3 frequency response .......................................................................................................... ....................................................................34 7.4 group delay ................................................................................................................. ...........................................................................35 7.5 distortion .................................................................................................................. ...............................................................................35 7.6 noise ....................................................................................................................... ................................................................................36
4 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 7.7 interchannel crosstalk...................................................................................................... .......................................................................36 7.8 intrachannel crosstalk...................................................................................................... .......................................................................36 8 timing characteristics ........................................................................................................ ............................................................................37 8.1 clock timing................................................................................................................ ............................................................................37 8.2 microprocessor interface timing ............................................................................................. ................................................................38 8.3 pcm interface timing........................................................................................................ ......................................................................39 9 appendix: idt821054a coe-ram mapping .......................................................................................... .........................................................40 10 ordering information ......................................................................................................... ..............................................................................41
5 idt821054a quad programmable pcm co dec with mpi interface industrial temperature list of figures figure - 1 an example of the mpi interface write operation ...................................................................... ........................................................ 9 figure - 2 an example of the mpi in terface read operation (id = 81h)............................................................ ................................................. 9 figure - 3 sampling edge selection waveform..................................................................................... ............................................................ 10 figure - 4 signal flow for each channel ......................................................................................... .................................................................. 11 figure - 5 debounce filter ...................................................................................................... ........................................................................... 13 figure - 6 clock timing......................................................................................................... ............................................................................. 37 figure - 7 mpi input timing ..................................................................................................... .......................................................................... 38 figure - 8 mpi output timing .................................................................................................... ........................................................................ 38 figure - 9 transmit and receive timing.......................................................................................... .................................................................. 39 figure - 10 typical frame sync timing (2 mhz operation) ......................................................................... ....................................................... 39 figure - 11 coe-ram mapping..................................................................................................... ....................................................................... 40
6 idt821054a quad programmable pcm co dec with mpi interface industrial temperature list of tables table - 1 consecutive adjacent addressing....................................................................................... ...............................................................15 table - 2 global registers (greg) mapping ....................................................................................... .............................................................20 table - 3 local registers (lreg) mapping........................................................................................ ...............................................................21 table - 4 coe-ram address allocation............................................................................................ .................................................................40
7 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 1 pin description name type pin number description gnda1 gnda2 gnda3 gnda4 ground 50 54 59 63 analog ground. all ground pins should be connected together. gndd ground 21 digital ground. all digital signals are referred to this pin. vdda12 vdda34 power 52 61 +5 v analog power supply. these pins should be connec ted to ground via a 0.1 f capacitor. all power supply pins should be connected together. vddd power 24 +5 v digital power supply. vddb power 57 +5 v analog power supply. this pin should be connected to ground via a 0.1 f capacitor. all power supply pins should be connected together. cnf ? 56 capacitor noise filter. this pin should be connected to ground via a 0.22 f capacitor. vin1-4 i 49, 55, 58, 64 analog voice inputs of channel 1-4. these pins should be connected to the corresponding slic via a 0.22 f capacitor. vout1-4 o 51, 53, 60, 62 voice frequency receiver outputs of channel 1-4. these pins can drive 300 ? ac load. it can drive transformers directly. si1_(1-4) si2_(1-4) i 36, 47, 2, 13 35, 48, 1, 14 slic signalling inputs with de bounce function for channel 1-4. sb1_(1-4) sb2_(1-4) sb3_(1-4) i/o 39, 44, 5, 10 38, 45, 4, 11 37, 46, 3, 12 bi-directional slic signa lling i/os for channel 1-4. these pins can be individually programmed as input or output. so1_(1-4) so2_(1-4) o 41, 42, 7, 8 40, 43, 6, 9 slic signalling outp uts for channel 1-4. dx1 o26 transmit pcm data ou tput, pcm highway one. transmit pcm data to pcm highway one. the pcm dat a is output through dx1 or dx2 as selected by local register lreg5. this pin remains in hi gh-impedance state until a pulse appears on the fs pin. dx2 o29 transmit pcm data output, pcm highway two. transmit pcm data to pcm highway two. the pcm data is output thought dx1 or dx2 as selected by local register lreg5. this pin remains in high- impedance state until a pulse appears on the fs pin. dr1 i27 receive pcm data input, pcm highway one. the pcm data is received from pcm highway one (dr1 ) or two (dr2). the receive pcm highway is selected by local register lreg6. dr2 i30 receive pcm data input, pcm highway two. the pcm data is received from pcm highway one (dr1 ) or two (dr2). the receive pcm highway is selected by local register lreg6. fs i31 frame synchronization. fs is an 8 khz synchronization clock that identifies the beginning of the pcm frame. bclk i32 bit clock. this pin clocks out the pcm data to dx1 or dx2 pi n and clocks in pcm data from dr1 or dr2 pin. it may vary from 512 khz to 8.192 mhz and should be synchronous to fs.
8 idt821054a quad programmable pcm co dec with mpi interface industrial temperature tsx1 tsx2 0 25 28 transmit output indicator. the tsx1 pin becomes low when pcm data is transmitted via dx1. open-drain. the tsx2 pin becomes low when pcm data is transmitted via dx2. open-drain. cs i17 chip selection. a logic low level on this pin enables the serial control interface. ci i19 serial control interface data input. control data input pin. cclk determines the data rate. co o20 serial control interface data output . control data output pin. cclk determines the data ra te. this pin is in high-impedance state when the cs pin is logic high. cclk i18 serial control interface clock. this is the clock for the serial cont rol interface. it can be up to 8.192 mhz. mclk i22 master clock input. this pin provides the clock for the dsp of t he idt821054a. the frequency of the mclk can be 1.536 mhz, 1.544 mhz, 2.048 mhz, 3.072 mhz, 3.088 mhz, 4.096 mhz, 6.144 mhz, 6.176 mhz or 8.192 mhz. reset i23 reset input. forces the device to default mode. active low. int12 o34 interrupt output pin for channel 1-2. active high interrupt signal for channel 1 and 2, open- drain. it reflects the changes on the corresponding slic input pins. int34 o15 interrupt output pin for channel 3-4. active high interrupt signal for channel 3 and 4, open- drain. it reflects the changes on the corresponding slic input pins. chclk1 o33 chopper clock output one. provides a programmable output signal (2 -28 ms) synchronous to mclk. chclk2 o16 chopper clock output two. provides a programmable output signal (256 khz, 512 khz or 16.384 mhz) synchronous to mclk. name type pin number description
9 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 2 functional description the idt821054a is a four-channel pc m codec with on-chip digital filters. it provides a four-wire soluti on for the subscriber line circuitry in digital switches. the idt821054a converts analog voice signals to digital pcm samples and digital pcm samples back to analog voice signals. the digital filters are used to bandlimit the voice signals during conversion. high performance ov ersampling analog-to-digital converters (adc) and digital-to-a nalog converters (dac) in the idt821054a provide the required conv ersion accuracy. the associated decimation and interpolation filter ing is performed by both dedicated hardware and digital signal processo r (dsp). the dsp also handles all other necessary procession such as pcm bandpass filtering, sample rate conversion and pcm companding. 2.1 mpi/pcm interface a serial microprocessor interface (mpi) is provided for the master device to control the idt821054a. two pcm buses are provided to transfer the digital voice data. 2.1.1 microprocessor interface (mpi) the internal configurati on registers (local/global ), the slic signaling interface and the coefficient-ram of the idt821054a are programmed by the master device via mpi, which c onsists of four lines (pins): cclk, cs , ci and co. all commands and data ar e aligned in byte (8 bits) and transferred via the mpi interface. cclk is the clock of the mpi interface. the frequency of cclk can be up to 8.192 mhz. cs is the chip selection pin. a low level on cs enables the mpi interface. ci and co are data input and data output pins, carrying control commands and data bytes to/from the idt821054a. the data transfer is synchronized to the cclk signal. the contents of ci is latched on the rising edges of cclk, while co changes on the falling edges of cclk. the cclk signal is the only reference of ci and co pins. its duty and frequency may not necessarily be standard. when the cs pin becomes low, the idt821054a treats the first byte on the ci pin as command and the rest as data. to write another command, the cs pin must be changed from low to high to finish the previous command and then changed from high to low to indicate the start of a new command. when a read/write operation is completed, the cs pin must be set to high in 8-bit time. during the execution of commands that are followed by output data byte(s), the idt821054a will not ac cept any new commands from the ci pin. but the data transfer sequence can be interrupted by setting the cs pin to high at any time. see figure - 1 and figure - 2 for examples of mpi write and read operation timing diagrams. figure - 1 an example of th e mpi interface write operation figure - 2 an example of the mpi interface read operation (id = 81h) 7 6 5 4 3 2 1 0 command byte data byte 1 data byte 2 high 'z' cclk ci co cs 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 command byte identification code data byte 1 high 'z' '0' '0' '0' '0' '0' '0' '1' '1' 6 5 4 3 2 1 0 7 ignored cclk ci co 7 6 5 4 3 2 1 0 cs
10 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 2.1.2 pcm bus the idt821054a provides two flexib le pcm buses for all 4 channels. the digital pcm data can be compressed (a/ -law) or linear code. as shown in figure - 3 , the data rate can be configured as same as the bit clock (bclk) or half of it. the pcm data is transmitted or received either on the rising edges or on the fa lling edges of the bclk signal. the transmit and receive time slots can of fset from the fs signal by 0 to 7 periods of bclk. all these configur ations are made by global register greg7, which is effective for all four channels. the pcm data of each channel can be assigned to any time slot of the pcm bus. the number of availabl e time slots is determined by the frequency of the bclk signal. for ex ample, if the frequency is 512 khz, 8 time slots (ts0 to ts7) are available. if the frequency is 1.024 mhz, 16 time slots (ts0 to ts15) are available. the idt821054a accepts bclk frequency of 512 khz to 8.192 mhz at increments of 64 khz. when compressed pcm code (8-bit wide) is selected, the voice data of one channel occupies one time slot. the tt[6:0] bits in local register lreg5 select the transmit time slot for each channel, while the rt[6:0] bits in lreg6 select the receive time slot for each channel. when linear pcm code is selected, the voice data is a 16-bit 2?s complement number (b13 to b0 are effective bits, b15 and b14 are as same as the sign bit b13). so, t he voice data of one channel occupies one time slot group, which consists of 2 adjacent time slots. the tt[6:0] bits in lreg5 select a transmit time slot group for the specified channel. if tt[6:0] = n(d), it means that ti me slots ts(2n+1) and ts(2n+2) are selected. for example, if tt[6:0] = 00h, it means that ts0 and ts1 are selected. the rt[6:0] bits in lreg6 select a receive time slot group for the specified channel in the same way. the pcm data of each individual channel can be clocked out to transmit pcm highway one (dx1) or two (dx2) on the programmed edges of bclk according to time slot assignment. the transmit pcm highway is selected by the ths bi t in lreg5. the frame sync (fs) pulse identifies the beginning of a tr ansmit frame (ts0). the pcm data is serially transmitted on dx 1 or dx2 with msb first. the pcm data of each individual c hannel is received from receive pcm highway one (dr1) or two (dr2) on the programmed edges of bclk according to time slot as signment. the receive pcm highway is selected by the rhs bit in lreg6. the frame sync (fs) pulse identifies the beginning of a receive frame (ts0). the pcm data is serially received from dr1 or dr2 with msb first. figure - 3 sampling edge selection waveform bit 7 ts0 fs bclk single clock transmit receive bclk double clock pcm clock slope bits in greg7: cs = 000 cs = 001 cs = 010 cs = 011 cs = 100 cs = 101 cs = 110 cs = 111
11 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 2.2 dsp programming 2.2.1 signal processing several blocks are programmable fo r signal processing. this allows users to optimize the performance of the idt821054a for the system. figure - 4 shows the signal flow fo r each channel and indicates the programmable blocks. the programmable digital filt ers are used to adjust gain and impedance, balance transhybrid and correct frequency response. all the coefficients of the digital filters can be calculated automatically by a software provided by idt. when user s provide accurate slic model, impedance and gain requirements, this software will calculate all the coefficients automatically. after loading these coefficients to the coefficient ram of the idt821054a, the final ac characteristics of the line card (consists of slic and codec) will meet the itu-t specifications. figure - 4 signal flow for each channel abbreviation list: lpf/aa: anti-alias low-pass filter lpf/sc: smoothing low-pass filter lpf: low-pass filter hpf: high-pass filter gis: gain for impedance scaling d1: 1st down sample stage d2: 2nd down sample stage u1: 1st up sample stage u2: 2nd up sample stage uf: up sampling filter (64 k - 128 k) imf: impedance matching filter ecf: echo cancellation filter gtx: gain for transmit path grx: gain for receive path frx: frequency response correction for transmit frr: frequency response correction for receive cmp: compression exp: expansion tsa: time slot assignment 2.2.2 gain adjustment for each individual channel, the anal og a/d gain in the transmit path can be selected as 0 db or 6 db. the selection is done by the gad bit in lreg9. it is 0 db by default. for each individual channel, the analog d/a gain in the receive path can be selected as 0 db or -6 db. the selection is done by the gda bit in lreg9. it is 0 db by default. for each channel, the digital gain filt er in the transmit path (gtx) can be disabled by setting the cs[5] bit in lreg1 to ?0?. if the cs[5] bit in lreg1 is set to ?1?, the gtx filter will be enabled and the digital gain will be programmed by the coefficient ra m. note that the ram block for containing gtx coefficient is shared by all four channels. that is, once the gtx coefficient is written to the coe-ram, it will be used by all four channels. the gtx is programmable from -3 db to +12 db with minimum 0.1 db step. for each channel, the digital gain filter in the receive path (grx) can be disabled by setting the cs[7] bit in lreg1 to ?0?. if the cs[7] bit in lreg1 is set to ?1?, the grx filt er will be enabled and the digital gain will be programmed by the coefficient ram. note that the ram block for containing grx coefficient is shared by all four channels. that is, once the grx coefficient is written to t he coe-ram, it will be used by all four channels. the grx is programmable from -12 db to +3 db with minimum 0.1 db step. 2.2.3 impedance matching the idt821054a provides a progr ammable feedback path from vin to vout for each channel. this f eedback synthesizes the two-wire impedance of the slic. the program mable impedance matching filter lpf/aa gtx d2 lpf frx hpf cmp tsa lpf/sc ? ? u1 grx u2 lpf frr dual tone exp tsa uf ? ? gis level meter imf ecf dlb-ana alb-8k dlb-8k dlb-pcm alb-di dlb-di receive path transmit path vin vout analog @2 mhz d1 @64 khz @16 khz @8 khz ts pcm highway dx1/dx2 dr1/dr2 lreg1: cs[2] cs[2] = 1: enable (normal) cs[2] = 0: disable (cut) lreg1: cs[0] cs[0] = 1: enable (normal) cs[0] = 0: disable (cut) lreg1: cs[1] cs[1] = 1: enable (normal) cs[1] = 0: disable (cut) bold black framed: programmable filters fine black framed: fixed filters lreg1: cs[3] cs[3] = 1: enable (normal) cs[3] = 0: disable (bypass) cut-off-pcm alb-1bit dlb_1bit
12 idt821054a quad programmable pcm co dec with mpi interface industrial temperature (imf) and gain of impedance scaling filt er (gis) work together to realize impedance matching. if the cs[0] bit in lreg1 is ?0?, the imf is disabled. if the cs[0] bit is ?1?, the imf coefficient is programmed by the coefficient ram. if the cs[2] bit in lreg1 is ?0?, the gis filter is disabled. if the cs[2] bit is ?1?, the gis coeffi cient is programmed by the coefficient ram. 2.2.4 transhybrid balance the ecf filter is used to adjust transhybrid balance and ensure that the echo cancellation meets the itu-t specifications. if the cs[1] bit in lreg1 is ?0?, the ecf filter is dis abled. if the cs[1] bit is ?1?, the ecf coefficient is programmed by the coefficient ram. 2.2.5 frequency response correction the idt821054a provides two filt ers that can be programmed to correct any frequency distortion caused by the impedance matching filter. they are the frequency respons e correction in the transmit path filter (frx) and the frequency response correction in the receive path filter (frr). if the cs[4] bit in lreg1 is ?0?, the frx filter is disabled. if the cs[4] bit is ?1?, the frx coeffi cient is programmed by the coefficient ram. if the cs[6] bit in lreg1 is ?0?, the frr filter is disabled. if the cs[6] bit is ?1?, the frr coeffici ent is programmed by the coefficient ram. refer to ?9 appendix: idt821054a coe-ram mapping? for the address of the gtx, grx, frx, frr, gis, ecf and imf coefficients. 2.3 slic control the slic control interface of the idt821054a consists of 7 pins per channel: 2 inputs si1 and si2, 3 i/os sb1 to sb3, and 2 outputs so1 and so2. 2.3.1 si1 and si2 the slic inputs si1 and si2 can be read in 2 ways - globally for all 4 channels or locally for each individual channel. the si1 and si2 status of all 4 channels can be read via global register greg9. the sia[3:0] bits in this register represent the debounced si1 data of channel 4 to channel 1. the sib[3:0] bits in this register represent the debounced si2 data of channel 4 to channel 1. both the si1 and si2 pins can be connected to off-hook, ring trip, ground key signals or other signals. the global register greg9 provides a more efficient way to obtain time-critical data such as on/off- hook and ring trip information from the slic input pins si1 and si2. the si1 and si2 status of each channel can also be read via the corresponding local register lreg4. 2.3.2 sb1, sb2 and sb3 the slic i/o pin sb1 of each c hannel can be configured as input or output via global register greg10. the sb1c[3:0] bits in greg10 determine the sb1 directions of c hannel 4 to channel 1: ?0? means input and '1' means output. the sb2c[3:0] bits in greg11 and the sb3c[3:0] bits in greg12 respectively deter mine the sb2 and sb3 directions of channel 4 to channel 1 in the same way. if the sb1, sb2 or sb3 pin is selected as input, its information can be read from both global and local registers. the sb1[3:0], sb2[3:0] and sb3[3:0] bits in global registers greg10, greg11 and greg12 respectively contain the information of sb1, sb2 and sb3 for all four channels. users can also read the information of sb1, sb2 and sb3 of the specified channel from local register lreg4. if the sb1, sb2 and sb3 pins are configured as outputs, data can only be written to them via greg10, greg11 and greg12 respectively. 2.3.3 so1 and so2 the control data can only be writt en to the two output pins so1 and so2 by local register lreg4 on a per-channel basis. when being read, the so1 and so2 bits in lreg4 will be read out with the data written to them in the previous write operation. 2.4 hardware ring trip in order to avoid the damage caused by high voltage ring signal, the idt821054a provides a hardware ring tr ip function to respond to the off- hook signal as fast as possible. th is function is enabled by setting the rte bit in greg8 to ?1?. the off-hook signal can be input via ei ther si1 or si2 pin, while the ring control signal can be output via any of the so1, so2, sb1, sb2 and sb3 pins (assume that sb1-sb3 are configured as outputs). the is bit in greg8 is used to select an input pin and the os[2:0] bits are used to select an output pin. when a valid off-hook signal arrives at the selected input pin (si1 or si2), the idt821054a will turn off t he ring signal by inverting the logic level of the selected output pin (so1, so2, sb1, sb2 or sb3), regardless of the value of the corr esponding slic output control register (the value should be changed later). this function provides a much faster response to off-hook signals than the software ring trip which turns off the ring signal by changi ng the value of the corresponding register. the ipi bit in greg8 is used to i ndicate the valid polarity of the input pin. if the off-hook signal is active low, the ipi bit should be set to ?0?. if the off-hook signal is active high, the ipi bit should be set to ?1?. the opi bit in greg8 is used to indicate the valid polarity of the output pin. if the ring control signal is required to be low in normal status and high to activate a ring, the opi bit should be set to ?1?. if it is required to be high in normal status and low to activate a ring, the opi bit should be set to ?0?. here is an example: in a system where the off-hook signal is active low and ring control signal is active high, the ipi bit should be set to ?0? and the opi bit should be set to ?1?. in normal status, the selected input (off-hook signal) is high and the sele cted output (ring control signal) is low. when the ring is activated by se tting the output (ring control signal) to high, a low pulse appearing on t he input (off-hook signal) will inform the device to invert the output to low and cut off the ring signal. 2.5 interrupt and interrupt enable an interrupt mechanism is prov ided in the idt821054a for reading the slic input state. each change of the slic input state will generate an interrupt. any of the slic inputs including si1, si2, sb1, sb2 and sb3 (if sb1- sb3 are configured as inputs) can be an interrupt source. as si1 and si2 signals are debounced while the sb1 to sb3 signals are not, users should pay more attention to the interrupt sources of sb1 to sb3. local register lreg2 is used to enable/disable the interrupts. each bit of ie[4:0] in lreg2 corresponds to one interrupt source of the
13 idt821054a quad programmable pcm co dec with mpi interface industrial temperature specified channel. when one bit of ie[4:0] is ?0?, the corresponding interrupt is ignored (disabled), other wise, the corresponding interrupt is recognized (enabled). multiple interrupt sources can be enabled at the same time. all interrupts can be cleared simultaneously by executing a write operation to global register greg2. additionall y, the interrupts caused by all four channels? si1 and si2 status changes can be cleared by applying a read operation to greg9. if sb1, sb2 and sb3 pins are configured as inputs, a read operation to greg10, greg11 and greg12 clears the interrupt generated by the correspondi ng sb port of all four channels. a read operation to lreg4 cl ears all 7 interrupt sources of the specified channel. 2.6 debounce filters for each channel, the idt821054a provides two debounce filter circuits: debounced switch hook (d sh) filter for the si1 signal and ground key (gk) filter for the si2 signal. see figure - 5 for details. the two debounce filters are used to buffer the input signals on si1 and si2 pins before changing the state of the slic debounced input si1/si2 register (greg9). the frame sync (fs) signal is necessary for both dsh and gk filters. the dsh[3:0] bits in lreg3 are used to program the debounce period of the si1 input of the co rresponding channel. the dsh filter is initially clocked at half of the frame sync rate (250 s). any data changing at this sample rate resets a counter that clocks at the rate of 2 ms. the value of the counter is pr ogrammable from 0 to 30 via lreg3. the debounced si1 signals of channel 4 to 1 are written to the sia[3:0] bits in greg9. the corresponding si a bit will not be updated until the value of the counter is reached. th e si1 pin usually contains the slic switch hook status. the gk[3:0] bits in lreg3 are used to program the debounce interval of the si2 input of the corresponding channel. the debounced si2 signals of channel 4 to 1 are writt en to the sib[3:0] bits in greg9. the gk debounce filter consists of a six-state up/down counter that ranges between 0 and 6. this counter is clocked by the gk timer at the sampling period of 0-30 ms, which is programmed via lreg3. if the sampled value is low, the value of the counter will be decremented by each clock pulse. if the sampled value is high, the value of the counter is incremented by each clock pulse. when the value increases to 6, it sets a latch whose output is routed to the corresponding sib bit. if the value decreases to 0, the latch will be cleared and the output bit will be set to 0. in other cases, the latch and the sib status remain in their previous state without being changed. in this way, at least six consecutive gk clocks with the debounce input remaining at the same state can effect an output change. figure - 5 debounce filter 2.7 chopper clock the idt821054a provides two pr ogrammable chopper clock outputs chclk1 and chclk2. they can be used to drive the power supply switching regulators on slics. the two chopper clocks are synchronous to mclk. the chclk1 outputs a signal which clock cycle is programmable from 2 to 28 ms. t he chclk2 outputs a signal which frequency can be 256 khz, 512 khz or 16.384 mhz. the frequencies of the two chopper clocks are programm ed by global register greg5. 2.8 dual tone and ring generation the idt821054a provides two tone generators (tone generator 0 and tone generator 1) for each channel. they can produce signals such as test tone, dtmf, dial tone, busy tone, congestion tone and caller-id alerting tone, and output it to the vout pin. the dual tone generators of each channel can be enabled by setting the ten0 and ten1 bits in lreg10 to ?1?respectively. the frequency and amplitude of the tone signal are programmed by the coe-ram. the frequency and amplit ude coefficients are calculated by the following formulas: frequency coefficient = 32767 ? cos(f / 8000 ? 2 ? ) amplitude coefficient = a ? 32767 ? sin(f / 8000 ? 2 ? ) herein, 'f' is the desired frequency of the tone signal, 'a' is the scaling parameter of the amplitude. the range of 'a' is from 0 to 1. a = 1, corresponds to the maximum amplitude of 1.57 v. dq dq dq dq e dq dsh[3:0] debounce period (0-30 ms) dq gk[3:0] debounce interval (0-30 ms) up/ down q 6 states up/down counter 7 bit debounce counter 7 bit debounce counter = 0 0 gk sib sia si1 4 khz si2 rst fs/2
14 idt821054a quad programmable pcm co dec with mpi interface industrial temperature a = 0, corresponds to the minimum amplitude of 0 v. it is a linear relationship between 'a' and the amplitude. that is, if a= ( 0<<1), the amplitude will be 1.57 ? (v). the frequency range is from 25 hz to 3400 hz. the frequency tolerances are as the following: 25 hz < f < 40 hz, tolerance < 12 % 40 hz < f < 60 hz, tolerance < 5 % 60 hz < f < 100 hz, tolerance < 2.5 % 100 hz < f < 3400 hz, tolerance < 1 % the frequency and amplitude coefficients should be converted to corresponding hexadecimal values bef ore being written to the coe- ram. refer to ?9 appendix: idt821054a coe-ram mapping? for the address of the tone coefficients. the ring signal is a special signal generated by the dual tone generators. when only one tone generat or is enabled, or dual tone generators produce the same tone signal and frequency of the tone meets the ring signal requirement (10 hz to 100 hz), a ring signal will be generated and output to the vout pin. 2.9 level metering the idt821054a integrates a level meter which is shared by all 4 channels. the level meter is designed to emulate the off-chip pcm test equipment so as to facilitate the line-card, subscriber line and users telephone set monitoring. the level meter tests the return signal and reports the measurement result via the mpi interface. when combined with tone generation and loopbacks, it allows the microprocessor to test the channel integrity. the signal on t he channel selected by the cs[1:0] bits in greg21 will be metered. the level meter is enabled by setting the lmo bit in greg21 to ?1?. a level meter counter register (greg20) is used to set the value of time cycles for sampling the pcm data (8 khz sampling rate). the output of level meter is sent to the level meter result registers greg18 and greg19. the lvll[7:0] bits in greg18 contain the lower 7 bits of the result and a data-ready bit (lvll[0]), while the lvlh[7:0] bits in greg19 contain the higher 8 bits of the result. an internal accumulator sums the rectified samples until the value set in greg20 is reached. by then, the lvll[0] bit is set to ?1? and accumulation result is latched into greg18 and greg19 simultaneously. once the higher byte of result (greg19) is read, the lvll[0] bit in greg18 will be reset. it will be set to ?1? again by a new data available. the contents of greg18 and greg 19 will be overwritten by the following metering result if they have not been read out yet. to read the level meter result registers, it is recommended to read greg18 (lower byte of result) first. the l/c bit in greg21 determines the level meter operation mode. if the l/c bit is ?1?, it means that metering mode is selected. in this mode, the linear pcm data will be sent to the level meter and the metering result will be output to greg18 and greg19. with this result, the signal level can be calculated. for a-law compressed pcm code or linear pcm code, the signal level can be calculated by the following formula: for -law compressed pcm code, the signal level can be calculated by the following formula: lm result : the value in the level meter result registers (greg18 & greg19); lm countnumber :the count number of the level meter (set in greg20). if the l/c bit is ?0?, it means that message mode is selected. in this mode, the compressed pcm data will be output to greg19 transparently without metering. refer to the application note for further details on the level meter. 2.10 channel power down/standby mode each individual channel of the idt821054a can be powered down independently by setting the pd bit in lreg9 to ?1?. if one channel is powered down and enters the standby mode, the pcm data transfer and the d/a, a/d converters of this channel will be disabled. in this way, the power consumption of the device can be reduced. when the idt821054a is powered up or reset, all four channels will be powered down. all circuits that contain programmed information retain their data after power down. the microprocessor interface is always active so that new commands can be received and executed. 2.11 power down/suspend mode a suspend mode is provided for the whole chip to save power. the suspend mode saves much more power consumption than the standby mode. in this mode, the pll block is turned off and the dsp operation is disabled. only global and local commands can be executed, the ram operation is disabled as the internal clock has been turned off. the pll block is powered down by setting the ppd bit in greg22 to ?1?. once the pll and all four channels are powered down, the idt821054a will enter the suspend mode. a dbm 0 () 20 lm result 2 5 lm countnumber 28192 -------------------------------------------------------------- ?? ?? ?? log 3.14 + = a dbm 0 () 20 lm result 2 5 lm countnumber 28192 -------------------------------------------------------------- ?? ?? ?? log 3.17 + =
15 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 3 operating the idt821054a 3.1 programming description the idt821054a is programmed by writing commands to registers and coefficient ram. a channel progr am enable register (greg6) is provided for addressing indi vidual or multiple channels. the ce[3:0] bits in this register are assigned to c hannel 4 to channel 1 respectively. the channels are enabled to be programmed by setting their respective ce bits to ?1?. if two or more channel s are enabled, the successive write commands will be effective to all enabled channels. a broadcast mode can be implemented by simply enabl ing all four channels before performing other write-oper ation. the broadcast mode is very useful for configuring the coefficient ram of the idt821054a in a large system. but for read operations, multip le addressing is not allowed. the idt821054a uses an identificat ion code to distinguish itself from other devices in the system. when being read, the idt821054a will output an identification code of 81h first to indicate that the following data bytes are from the idt821054a. 3.1.1 command type and format the idt821054a provides three ty pes of commands as follows: local command (lc), which is used to address the local registers of the specified channel(s). global command (gc), which is used to address the global registers of all four channels. ram command (rc), which is used to address the coefficient ram (coe-ram). the format of the command is as the following: r /w: read/write command bit b7 = 0: read command b7 = 1: write command ct: command type b6 b5 = 00: lc - local command b6 b5 = 01: gc - global command b6 b5 = 10: not allowed b6 b5 = 11: rc - ram command address: b[4:0], specify one or more local/global registers or a block of coe-ram to be addressed. for local command and global command, the b[4:0] bits are used to specify the address of the lo cal registers and global registers respectively. for ram command, b[4:0] bits are used to specify the block of the coe-ram. 3.1.2 addressing the local registers when addressing the local register s, users must specify which channel(s) will be addressed first. if tw o or more channels are specified via greg6, the corresponding local registers of the specified channels will be addressed by a local command at the same time. the idt821054a provides a c onsecutive adjacent addressing method for accessing the local registers. according to the address specified in a local command, there will be 1 to 4 adjacent local registers to be addressed automatically , with the highest order first. for example, if the address specified in a local command ends with ?11? (b1b0 = 11), 4 adjacent registers wi ll be addressed by this command; if b1b0 = 10, 3 adjacent registers will be addressed. see table - 1 for details. when addressing local registers, the procedure of consecutive adjacent addressing can be stopped by the cs signal at any time. if cs is changed from low to high, the operat ion to the current register and the next adjacent registers will be aborted. however, the previous operation results will not be affected. 3.1.3 addressing the global registers for global registers are shared by all four channels, it is no need to specify the channel(s) before addressi ng a global register. except for this, the global registers are addres sed in a similar way as local registers. the procedure of cons ecutive adjacent addressing can be stopped by the cs signal at any time. 3.1.4 addressing the coe-ram there are totally 40 words of coe-ram. they are divided to 5 blocks. each block consists of 8 words. each word is 14-bit wide. the 5 blocks of the coe-ram are assigned for different filter coefficients as shown below (refer to ?9 appendix: idt821054a coe- ram mapping? for the address of the coe-ram): block 1: imf ram (word 0 - word 7), containing the impedance matching filter coefficient. block 2: ecf ram (word 8 - word 15), containing the echo cancellation filter coefficient. block 3: gis ram (word 16 - word 19) and tone generator ram (word 20 - word 23), containing the gain of impedance scaling and dual tone coefficients. block 4: frx ram (word 24 - word 30) and gtx ram (word 31), containing the coefficient of t he frequency response correction in transmit path and the gain in transmit path; block 5: frr ram (word 32 - word 38) and grx ram (word 39), containing the coefficient of t he frequency response correction in receive path and the gain in receive path. the coe-ram blocks used for contai ning the imf, ecf, gis, frx, gtx, frr and grx coefficients are shared by all four channels. when coefficients are written to these bl ocks, they will be used by all four channels. but the four words (word 20 to 23), which contain the dual b7 b6 b5 b4 b3 b2 b1 b0 r /w ct address table - 1 consecutive adjacent addressing address specified in a local command in/out data bytes address of the local registers to be accessed b[4:0] = xxx11 (b1b0 = 11, four bytes of data) byte 1 xxx11 byte 2 xxx10 byte 3 xxx01 byte 4 xxx00 b[4:0] = xxx10 (b1b0 = 10, three bytes of data) byte 1 xxx10 byte 2 xxx01 byte 3 xxx00 b[4:0] = xxx01 (b1b0 = 01, two bytes of data) byte 1 xxx01 byte 2 xxx00 b[4:0] = xxx00 (b1b0 = 00, one byte of data) byte 1 xxx00
16 idt821054a quad programmable pcm co dec with mpi interface industrial temperature tone coefficients, can only be addressed on a per-channel basis. therefore, users should specify a channel (by setting the corresponding ce bit in greg6 to ?1?) before wr iting/reading tone coefficients to/from the coe-ram. to write a coe-ram word, 16 bits (b[15:0]) or two 8-bit bytes are needed to fulfill with msb first , but the lowest two bits (b[1:0]) will be ignored. when read, each word will output 16 bits with msb first, but the lowest two bits (b[1:0]) are meaningless. the address in a coe-ram command (b[4:0]) specifies a block of coe-ram to be accessed. when a coe-ram command is executed, the codec automatically counts down from the highest address to the lowest address of the specified block. so all 8 words of the block will be addressed by one coe-ram command. when addressing the coe-ram, t he procedure of consecutive adjacent addressing can be stopped by the cs signal at any time. if the cs signal is changed from low to high, the operation to the current word and the next adjacent words will be aborted. however, the previous operation results will not be affected. 3.1.5 programming examples 3.1.5.1 example of programming local registers ? writing to lreg2 and lreg1 of channel 1: 1010, 0101 channel enable command 0001, 0010 data for greg6 (channel 1 is enabled for programming) 1000, 0001 local register write command (the address is '00001', wh ich means that data will be written to lreg2 and lreg1.) xxxx, xxxx data for lreg2 xxxx, xxxx data for lreg1 ? reading from lreg2 and lreg1 of channel 1: 1010, 0101 channel enable command 0001, 0010 data for greg6 (channel 1 is enabled for programming) 0000, 0001 local register read command (the address is '00001', which means that lreg2 and lreg1 will be read.) after the preceding commands are execut ed, data will be sent out as follows: 1000, 0001 identification code xxxx, xxxx data read out from lreg2 xxxx, xxxx data read out from lreg1 3.1.5.2 example of programming global registers ? writing to greg1: 1010, 0000 global register write command (the address is '00000', which means that data will be written to greg1.) 1111, 1111 data for greg1 ? reading from greg1: 0010, 0000 global register read command (the address is '00000', which means that greg1 will be read.) after the preceding command is executed, data will be sent out as follows: 1000, 0001 identification code 0000, 0001 data read out from greg1 3.1.5.3 example of programm ing the coefficient-ram as described in ?3.1.4 addressing the coe-ram? , the coe-ram blocks used for containing t he imf, ecf, gis, frx, gtx, frr and grx coefficients are shared by all four channel s. when coefficients are written to these bl ocks, they will be used by all four chan nels. but the four words (word 20 to 23), which contain the tone c oefficients, can only be addressed on a per-c hannel basis. therefore, users should spe cify a channel before writing/reading tone coefficients to/from the coe-ram. ? writing to the coe-ram ? examples for coe-ram blocks sh ared by all four channels: 1110,0000 coe-ram write command (the address of '00000' is located in block 1, which means that data will be written to block 1 .) data byte 1 high byte of word 8 of block 1 data byte 2 low byte of word 8 of block 1 data byte 3 high byte of word 7 of block 1 data byte 4 low byte of word 7 of block 1 data byte 5 high byte of word 6 of block 1 data byte 6 low byte of word 6 of block 1 data byte 7 high byte of word 5 of block 1 data byte 8 low byte of word 5 of block 1 data byte 9 high byte of word 4 of block 1 data byte 10 low byte of word 4 of block 1 data byte 11 high byte of word 3 of block 1 data byte 12 low byte of word 3 of block 1 data byte 13 high byte of word 2 of block 1
17 idt821054a quad programmable pcm co dec with mpi interface industrial temperature data byte 14 low byte of word 2 of block 1 data byte 15 high byte of word 1 of block 1 data byte 16 low byte of word 1 of block 1 ? examples for the coe-ram u sed for tone coefficients: 1010,0101 channel enable command 0001,0010 data for greg6 (channel 1 is enabled for programming) 1110,0010 coe-ram write command (the address of '00010' is located in block 3, which means that data will be written to block 3 .) data byte 1 high byte of word 8 of block 3 data byte 2 low byte of word 8 of block 3 data byte 3 high byte of word 7 of block 3 data byte 4 low byte of word 7 of block 3 data byte 5 high byte of word 6 of block 3 data byte 6 low byte of word 6 of block 3 data byte 7 high byte of word 5 of block 3 data byte 8 low byte of word 5 of block 3 data byte 9 high byte of word 4 of block 3 (see note 1) data byte 10 low byte of word 4 of block 3 data byte 11 high byte of word 3 of block 3 data byte 12 low byte of word 3 of block 3 data byte 13 high byte of word 2 of block 3 data byte 14 low byte of word 2 of block 3 data byte 15 high byte of word 1 of block 3 data byte 16 low byte of word 1 of block 3 note 1: in block 3 of the coe-ram, word 5 to word 8 are used for tone coefficients while word 1 to word 4 are used for gis coefficient s. if users do not want to change the gis coefficient while writing tone coefficients to the coe-ram, they can stop the procedure of consecutive adja cent addressing (after writing d ata to word 5) by pulling the cs signal to high, or they can rewrite word 1 to word 4 with the original gis coefficients. ? reading from the coe-ram ? examples for coe-ram blocks sh ared by all four channels: 0110,0000 coe-ram read command (the address of '00000' is locat ed in block 1, which means that block 1 will be read.) after the preceding command is executed, data will be sent out as follows: 1000,0001 identification code data byte 1 data read out from high byte of word 8 of block 1 data byte 2 data read out from low byte of word 8 of block 1 data byte 3 data read out from high byte of word 7 of block 1 data byte 4 data read out from low byte of word 7 of block 1 data byte 5 data read out from high byte of word 6 of block 1 data byte 6 data read out from low byte of word 6 of block 1 data byte 7 data read out from high byte of word 5 of block 1 data byte 8 data read out from low byte of word 5 of block 1 data byte 9 data read out from high byte of word 4 of block 1 data byte 10 data read out from low byte of word 4 of block 1 data byte 11 data read out from high byte of word 3 of block 1 data byte 12 data read out from low byte of word 3 of block 1 data byte 13 data read out from high byte of word 2 of block 1 data byte 14 data read out from low byte of word 2 of block 1 data byte 15 data read out from high byte of word 1 of block 1 data byte 16 data read out from low byte of word 1 of block 1 ? examples for the coe-ram u sed for tone coefficients: 1010,0011 channel enable command 0001,0010 data for greg6 (channel 1 is enabled for programming) 0110,0010 coe-ram read command (the address of '00010' is locat ed in block 3, which means that block 3 will be read.) after the preceding commands are executed, data will be sent out as follows: 1000,0001 identification code data byte 1 data read out from high byte of word 8 of block 3 data byte 2 data read out from low byte of word 8 of block 3 data byte 3 data read out from high byte of word 7 of block 3
18 idt821054a quad programmable pcm co dec with mpi interface industrial temperature data byte 4 data read out from low byte of word 7 of block 3 data byte 5 data read out from high byte of word 6 of block 3 data byte 6 data read out from low byte of word 6 of block 3 data byte 7 data read out from high byte of word 5 of block 3 data byte 8 data read out from low byte of word 5 of block 3 data byte 9 data read out from high byte of word 4 of block 3 data byte 10 data read out from low byte of word 4 of block 3 data byte 11 data read out from high byte of word 3 of block 3 data byte 12 data read out from low byte of word 3 of block 3 data byte 13 data read out from high byte of word 2 of block 3 data byte 14 data read out from low byte of word 2 of block 3 data byte 15 data read out from high byte of word 1 of block 3 data byte 16 data read out from low byte of word 1 of block 3
19 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 3.2 power-on sequence to power on the idt821054a, users should follow the sequence below: 1. apply ground first; 2. apply vcc, finish signal connections and set the reset pin to logic low. the device then goes into the default state; 3. set the reset pin to logic high; 4. select master clock frequency; 5. program filter coefficients and other parameters as required; 3.3 default state after reset when the idt821054a is powered on, or reset either by command or by setting the reset pin to logic low for at least 50 s, the device will enter the default state as follows: 1. all four channels are powered down and in standby mode. 2. all loopbacks and cutoff are disabled. 3. the dx1 pin is selected for all channels to transmit data and the dr1 pin is selected for all channels to receive data. 4. the master clock frequency is 2.048 mhz. 5. transmit and receive time slots are set to be 0-3 respectively for channel 1-4. the pcm data rate is as same as the bclk frequency. the pcm data is transmitted on rising edges of the bclk signal and received on falling edges of it. 6. a-law is selected. 7. the digital filters including grx, frr, gtx, frx, gis, ecf and imf are disabled. the high-pass filt ers (hpf) are enabled. refer to figure - 4 and descriptions on lreg1 for details. 8. the sb1, sb2 and sb3 pins are configured as inputs. 9. the si1 and si2 pins are configured as no debounce. 10.all interrupts are disabled and all pending interrupts are cleared. 11. all feature function blocks in cluding dual tone generators, hardware ring trip and level meter are disabled. 12.the outputs of chclk1 and chclk2 are set to high. the data stored in the ram will not be changed by any kind of reset operations. so the ram data will not be lost unless the device is powered down physically.
20 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 3.4 registers description 3.4.1 registers overview table - 2 global registers (greg) mapping name function register byte read command write command default value b7 b6 b5 b4 b3 b2 b1 b0 greg1 version number (read)/ no operation (write) 20h a0h 01h greg2 interrupt clear ? a1h ? greg3 software reset ? a2h ? greg4 hardware reset ? a3h ? greg5 chopper clock selection reserved chclk2[1] chclk2[0] chclk1[3] chclk1[2] chclk1[1] chclk1[0] 24h a4h 00h greg6 mclk selection and channel program enable ce[3] ce[2] ce[1] ce[0] sel[3] sel[2] sel[1] sel[0] 25h a5h 02h greg7 data format, companding law, clock slope and pcm delay time selection a- vds cs[2] cs[1] cs[0] oc[2] oc[1] oc[0] 26h a6h 00h greg8 slic ring trip setting and control opi reserved ipi is rte os[2] os[1] os[0] 27h a7h 00h greg9 debounced data on si1 and si2 pins sib[3] sib[2] sib[1] sib[0] sia[3] sia[2] sia[1] sia[0] 28h ? 00h greg10 sb1 direction control and sb1 data sb1c[3] sb1c[2] sb1c[1] sb1c[0] sb1[3] sb1[2] sb1[1] sb1[0] 29h a9h 00h greg11 sb2 direction control and sb2 data sb2c[3] sb2c[2] sb2c[1] sb2c[0] sb2[3] sb2[2] sb2[1] sb2[0] 2ah aah 00h greg12 sb3 direction control and sb3 data sb3c[3] sb3c[2] sb3c[1] sb3c[0] sb3[3] sb3[2] sb3[1] sb3[0] 2bh abh 00h greg13 reserved for future use reserved ??? greg14 reserved for future use reserved ??? greg15 reserved for future use reserved ??? greg16 reserved for future use reserved ??? greg17 reserved for future use reserved ??? greg18 level meter result low byte lvll[7] lvll[6] lvll[5] lvll[4] lvll[3] lvll[2] lvll[1] lvll[0] 31h ? 00h greg19 level meter result high byte lvlh[7] lvlh[6] lvlh[5] lvlh[4] lvlh[3] lvlh[2] lvlh[1] lvlh[0] 32h ? 00h greg20 level meter count number cn[7] cn[6] cn[5] cn[4] cn[3] cn[2] cn[1] cn[0] 33h b3h 00h greg21 level meter mode and channel selection, level meter enable reserved lmo l/c cs[1] cs[0] 34h b4h 00h greg22 loopback control and pll power down reserved ppd dlb_ana alb_8k dlb_8k dlb_di alb_di 35h b5h 00h
21 idt821054a quad programmable pcm co dec with mpi interface industrial temperature table - 3 local registers (lreg) mapping name function register byte read comman d write comman d default value b7 b6 b5 b4 b3 b2 b1 b0 lreg1 coefficient selection cs[7] cs[6] cs[5] cs[4] cs[3] cs[2] cs[1] cs[0] 00h 80h 08h lreg2 local loopbacks control and slic input interrupt enable ie[4] ie[3] ie[2] ie[1] ie[0] dlb_pcm alb_1bit dlb_1bit 01h 81h 00h lreg3 dsh and gk debounce filters configuration gk[3] gk[2] gk[1] gk[0] dsh[3] dsh[2] dsh[1] dsh[0] 02h 82h 00h lreg4 slic io status/control data reserved so2 so1 sb3 sb2 sb1 si2 si1 03h 83h ? lreg5 transmit highway and time slot selection ths tt[6] tt[5] tt[4] tt[3] tt[2] tt[1] tt[0] 04h 84h 00h for ch1 01h for ch2 02h for ch3 03h for ch4 lreg6 receive highway and time slot selection rhs rt[6] rt[5] rt[4] rt[3] rt[2] rt[1] rt[0] 05h 85h 00h for ch1 01h for ch2 02h for ch3 03h for ch4 lreg7 pcm data low byte pcm[7] pcm[6] pcm[5] pcm[4] pcm[3] pcm[2] pcm[1] pcm[0] 06h ? 00h lreg8 pcm data high byte pcm[15] pcm[14] pcm[13] pcm[12] pcm[11] pcm[10] pcm[9] pcm[8] 07h ? 00h lreg9 channel power down, a/d and d/a gains, pcm cutoff pd pcmct gad gda 0 0 0 0 08h 88h 80h lreg1 0 tone generator enable and tone program enable reserved tprog1 tprog0 ten1 ten0 09h 89h 00h
22 idt821054a quad programmable pcm co dec with mpi interface industrial temperature for the global and local registers descr ibed below, it should be noted that: 1. r /w = 0, read command. r /w = 1, write command. 2. the reserved bit(s) in the registers must be filled in ?0? in write operation and be ignored in read operation. 3.4.2 global registers list greg1: no operation, write (a0h ); version number, read (20h) by applying a read operation (20h) to this register, users can read out the version number of the idt821054a. the default value is 01h. to write to this register (no operation), a data byte of ffh must follow the write command (a0h) to ensure proper operation. greg2: interrupt clear, write only (a1h) all interrupts on slic i/o will be cleared by applying a write operati on to this register. note that a data byte of ffh must fo llow the write command (a1h) to ensure proper operation. greg3: software reset, write only (a2h) a write operation to this register resets all local registers, but does not reset global registers and the coe-ram. note that w hen writing to this register, a data byte of ffh must follow the write command (a2h) to ensure proper operation. greg4: hardware reset, write only (a3) a write operation to this regist er is equivalent to setting the reset pin to logic low (refer to ?3.3 default state after reset? on page 19 for details). note that when applying this write command, a data byte of ffh must follow to ensure proper operation. greg5: chopper clock selectio n, read/write (24h/a4h) this register is used to select the frequen cy of the chclk2 and chclk1 output signals. chclk2[1:0] = 00: the output of chclk2 is set to high permanently (default); chclk2[1:0] = 01: chclk2 outputs a digi tal signal with the frequency of 512 khz; chclk2[1:0] = 10: chclk2 outputs a digi tal signal with the frequency of 256 khz; chclk2[1:0] = 11: chclk2 outputs a digi tal signal with the frequency of 16384 khz; chclk1[3:0] = 0000: the output of chclk1 is set to high permanently (default); chclk1[3:0] = 0001: chclk1 outputs a digi tal signal with the frequency of 1000/2 hz; chclk1[3:0] = 0010: chclk1 outputs a digi tal signal with the frequency of 1000/4 hz; chclk1[3:0] = 0011: chclk1 outputs a digi tal signal with the frequency of 1000/6 hz; chclk1[3:0] = 0100: chclk1 outputs a digi tal signal with the frequency of 1000/8 hz; chclk1[3:0] = 0101: chclk1 outputs a digi tal signal with the frequency of 1000/10 hz; chclk1[3:0] = 0110: chclk1 outputs a digi tal signal with the frequency of 1000/12 hz; chclk1[3:0] = 0111: chclk1 outputs a digi tal signal with the frequency of 1000/14 hz; chclk1[3:0] = 1000: chclk1 outputs a digi tal signal with the frequency of 1000/16 hz; b7 b6 b5 b4 b3 b2 b1 b0 command r /w0100000 b7 b6 b5 b4 b3 b2 b1 b0 command10100001 b7 b6 b5 b4 b3 b2 b1 b0 command10100010 b7 b6 b5 b4 b3 b2 b1 b0 command10100011 b7 b6 b5 b4 b3 b2 b1 b0 command r /w0100100 i/o data reserved chclk2[1] chclk2[0] chclk1[3] chclk1[2] chclk1[1] chclk1[0]
23 idt821054a quad programmable pcm co dec with mpi interface industrial temperature chclk1[3:0] = 1001: chclk1 outputs a digi tal signal with the frequency of 1000/18 hz; chclk1[3:0] = 1010: chclk1 outputs a digi tal signal with the frequency of 1000/20 hz; chclk1[3:0] = 1011: chclk1 outputs a digi tal signal with the frequency of 1000/22 hz; chclk1[3:0] = 1100: chclk1 outputs a digi tal signal with the frequency of 1000/24 hz; chclk1[3:0] = 1101: chclk1 outputs a digi tal signal with the frequency of 1000/26 hz; chclk1[3:0] = 1110: chclk1 outputs a digi tal signal with the frequency of 1000/28 hz; chclk1[3:0] = 1111: the output of chclk1 is set to low permanently. greg6: mclk selection and channel pr ogram enable, read/write (25h/a5h) the higher 4 bits (ce[3:0]) in this regi ster are used to specify the desired channel (s) before addressing local registers or co e-ram used for tone coefficients. the ce[0] to ce[3] bits indicate t he program enable state for channel 1 to channel 4 respectively. ce[0] = 0: disabled, channel 1 can not receive programming commands (default); ce[0] = 1: enabled, channel 1 can receive programming commands; ce[1] = 0: disabled, channel 2 can not receive programming commands (default); ce[1] = 1: enabled, channel 2 can receive programming commands; ce[2] = 0: disabled, channel 3 can not receive programming commands (default); ce[2] = 1: enabled, channel 3 can receive programming commands; ce[3] = 0: disabled, channel 4 can not receive programming commands (default); ce[3] = 1: enabled, channel 4 can receive programming commands. the lower 4 bits (sel[3:0]) in this register are used to select the master clock frequency. sel[3:0] = 0000: 8.192 mhz sel[3:0] = 0001: 4.096 mhz sel[3:0] = 0010: 2.048 mhz (default) sel[3:0] = 0110: 1.536 mhz sel[3:0] = 1110: 1.544 mhz sel[3:0] = 0101: 3.072 mhz sel[3:0] = 1101: 3.088 mhz sel[3:0] = 0100: 6.144 mhz sel[3:0] = 1100: 6.176 mhz greg7: a/ -law, linear/compressed code, clock slope and de lay time selection, read/write (26h/a6h) the a/ -law select bit (a- ) selects the companding law: a- = 0: a-law is selected (default) a- = 1: -law is selected. the voice data select bit (vds) defines the format of the voice data: vds = 0: compressed code (default) vds = 1: linear code the clock slope bits (cs[2:0]) sele ct single or double clock and clock edges of transmitting and receiving data. cs[2] = 0: single clock (default) cs[2] = 1: double clock cs[1:0] = 00: transmits data on rising edges of bclk, receives data on falling edges of bclk (default). cs[1:0] = 01: transmits data on rising edges of bclk, receives data on rising edges of bclk. cs[1:0] = 10: transmits data on falling edges of bclk, receives data on falling edges of bclk. cs[1:0] = 11: transmits data on falling edges of bclk, receives data on rising edges of bclk. b7 b6 b5 b4 b3 b2 b1 b0 command r /w0100101 i/o data ce[3] ce[2] ce[1] ce[0] sel[3] sel[2] sel[1] sel[0] b7 b6 b5 b4 b3 b2 b1 b0 command r /w0100110 i/o data a- vds cs[2] cs[1] cs[0] oc[2] oc[1] oc[0]
24 idt821054a quad programmable pcm co dec with mpi interface industrial temperature the pcm data offset configuration bits (oc[ 2:0]) determine that the transmit and receive time slots of pcm data offset from the fs signal by how many periods of bclk: oc[2:0] = 000: 0 period of bclk (default); oc[2:0] = 001: 1 period of bclk; oc[2:0] = 010: 2 periods of bclk; oc[2:0] = 011: 3 periods of bclk; oc[2:0] = 100: 4 periods of bclk; oc[2:0] = 101: 5 periods of bclk; oc[2:0] = 110: 6 periods of bclk; oc[2:0] = 111: 7 periods of bclk. greg8: slic ring trip setting an d control, read/write (27h/a7h) the output polarity indicator bit (opi ) indicates the valid polarity of output: opi = 0: the selected output pin changes from high to low to activate the ring (default); opi = 1: the selected output pin changes from low to high to activate the ring. the input polarity indicator bit (ipi) indicates the valid polarity of input: ipi = 0: active low (default); ipi = 1: active high. the input selection bit (is) determi nes which input will be selected as the off-hook indication signal source. is = 0: si1 is selected (default); is = 1: si2 is selected. the ring trip enable bit (rte) enables or disables the ring trip function block: rte = 0: the ring trip function block is disabled (default); rte = 1: the ring trip function block is enabled. the output selection bits (os[2:0]) determine which out put will be selected as the ring control signal source. os[2:0] = 000 - 010: not defined; os[2:0] = 011: sb1 is selected (when sb1 is configured as an output); os[2:0] = 100: sb2 is selected (when sb2 is configured as an output); os[2:0] = 101: sb3 is selected (when sb3 is configured as an output); os[2:0] = 110: so1 is selected; os[2:0] = 111: so2 is selected. greg9: si data, read only (28h) the sia[3:0] bits contain the debounced dat a (off-hook status) on the si1 pins of channel 4 to channel 1 respectively. the sib[3:0] bits contain the debounced data (ground key status) on the si2 pins of channel 4 to channel 1 respectively. b7 b6 b5 b4 b3 b2 b1 b0 command r /w0100111 i/o data opi reserved ipi is rte os[2] os[1] os[0] b7 b6 b5 b4 b3 b2 b1 b0 command00101000 i/o data sib[3] sib[2] sib[1] sib[0] sia[3] sia[2] sia[1] sia[0]
25 idt821054a quad programmable pcm co dec with mpi interface industrial temperature greg10: sb1 direction control and sb1 stat us/control data, read/write (29h/a9h) the sb1 direction control bits sb1c[3:0] in this register determine the directions of the sb1 pins of channel 4 to channel 1 re spectively. sb1c[0] = 0: the sb1 pin of channel 1 is configured as input (default); sb1c[0] = 1: the sb1 pin of channel 1 is configured as output; sb1c[1] = 0: the sb1 pin of channel 2 is configured as input (default); sb1c[1] = 1: the sb1 pin of channel 2 is configured as output; sb1c[2] = 0: the sb1 pin of channel 3 is configured as input (default); sb1c[2] = 1: the sb1 pin of channel 3 is configured as output; sb1c[3] = 0: the sb1 pin of channel 4 is configured as input (default); sb1c[3] = 1: the sb1 pin of channel 4 is configured as output. when the sb1 pins of channel 1 to channel 4 ar e configured as inputs, the sb1[0] to sb1[ 3] bits contain the status of these fou r sb1 pins respectively. when the sb1 pins of channel 1 to channel 4 are configured as outputs, the c ontrol data is written to these four sb1 pins via the sb1[0] to sb1[3] bits respectively. greg11: sb2 direction control and sb2 stat us/control data, read/write (2ah/aah) the sb2 direction control bits sb2c[3:0] in this register determine the directions of the sb2 pins of channel 4 to channel 1 re spectively. sb2c[0] = 0: the sb2 pin of channel 1 is configured as input (default); sb2c[0] = 1: the sb2 pin of channel 1 is configured as output; sb2c[1] = 0: the sb2 pin of channel 2 is configured as input (default); sb2c[1] = 1: the sb2 pin of channel 2 is configured as output; sb2c[2] = 0: the sb2 pin of channel 3 is configured as input (default); sb2c[2] = 1: the sb2 pin of channel 3 is configured as output; sb2c[3] = 0: the sb2 pin of channel 4 is configured as input (default); sb2c[3] = 1: the sb2 pin of channel 4 is configured as output. when the sb2 pins of channel 1 to channel 4 ar e configured as inputs, the sb2[0] to sb2[ 3] bits contain the status of these fou r sb2 pins respectively. when the sb2 pins of channel 1 to channel 4 are configured as outputs, the c ontrol data is written to these four sb2 pins via the sb2[0] to sb2[3] bits respectively. greg12: sb3 direction control and sb3 stat us/control data, read/write (2bh/abh) the sb3 direction control bits sb3c[3:0] in this register determine the directions of the sb3 pins of channel 4 to channel 1 re spectively. sb3c[0] = 0: the sb3 pin of channel 1 is configured as input (default); sb3c[0] = 1: the sb3 pin of channel 1 is configured as output; sb3c[1] = 0: the sb3 pin of channel 2 is configured as input (default); sb3c[1] = 1: the sb3 pin of channel 2 is configured as output; sb3c[2] = 0: the sb3 pin of channel 3 is configured as input (default); sb3c[2] = 1: the sb3 pin of channel 3 is configured as output; sb3c[3] = 0: the sb3 pin of channel 4 is configured as input (default); sb3c[3] = 1: the sb3 pin of channel 4 is configured as output. when the sb3 pins of channel 1 to channel 4 ar e configured as inputs, the sb3[0] to sb3[ 3] bits contain the status of these fou r sb3 b7 b6 b5 b4 b3 b2 b1 b0 command r /w0101001 i/o data sb1c[3] sb1c[2] sb1c[1] sb1 c[0] sb1[3] sb1[2] sb1[1] sb1[0] b7 b6 b5 b4 b3 b2 b1 b0 command r /w0101010 i/o data sb2c[3] sb2c[2] sb2c[1] sb2 c[0] sb2[3] sb2[2] sb2[1] sb2[0] b7 b6 b5 b4 b3 b2 b1 b0 command r /w0101011 i/o data sb3c[3] sb3c[2] sb3c[1] sb3 c[0] sb3[3] sb3[2] sb3[1] sb3[0]
26 idt821054a quad programmable pcm co dec with mpi interface industrial temperature pins respectively. when the sb3 pins of channel 1 to channel 4 are configured as outputs, the c ontrol data is written to these four sb3 pins via the sb3[0] to sb3[3] bits respectively. greg13: reserved for future use. greg14: reserved for future use. greg15: reserved for future use. greg16: reserved for future use. greg17: reserved for future use. greg18: level meter result lo w byte, read only (31h) this register contains the low byte of t he level meter result. the default value is 00h. the lvll[0] bit in this register will be set to ?1? when the le vel meter result (both high and low bytes) is ready, and it will be reset to ?0? immediately after the high byte of result is read. to read the level meter result, it is recommended to the low byte first, the n read the high byte (lvlh[7:0] in greg19). greg19: level meter result high byte, read only (32h) this register contains the high byte of t he level meter result. the default value is 00h. greg20: level meter count number, read/write (33h/b3h) the cn[7:0] bits are used to set the number of time cycles for sampling the pcm data. cn[7:0] = 0 (d): the pcm data is output to t he result registers greg18 and greg19 directly; cn[7:0] = n (d): the pcm data is sampled for n 125 s (n is from 1 to 255). greg21: level meter channel and linear /compressed mode selection, level me ter on/off, read/write (34h/b4h) the level meter on/off bit (lmo) enables/disables the level meter. lmo = 0: the level meter is disabled (default); lmo = 1: the level meter is enabled. the linear/compressed bit (l/c) determines the mode of level meter operation. l/c = 0: message mode is selected. the compressed pc m data will be output to greg19 transparently (default). l/c = 1: metering mode is selected. the linear pcm data wi ll be metered and the result will be output to the registers greg18 and greg19. b7 b6 b5 b4 b3 b2 b1 b0 command00110001 i/o data lvll[7] lvll[6] lvll[5] lvll[4] lvll[3] lvll[2] lvll[1] lvll[0] b7 b6 b5 b4 b3 b2 b1 b0 command00110010 i/o data lvlh[7] lvlh[6] lvlh[5] lvlh[4] lvlh[3] lvlh[2] lvlh[1] lvlh[0] b7 b6 b5 b4 b3 b2 b1 b0 command r /w0110011 i/o data cn[7] cn[6] cn[5] cn[4] cn[3] cn[2] cn[1] cn[0] b7 b6 b5 b4 b3 b2 b1 b0 command r /w0110100 i/o data reserved lmo l/c cs[1] cs[0]
27 idt821054a quad programmable pcm co dec with mpi interface industrial temperature the level meter channel select bits (cs[1:0]) sele ct a channel, data on which will be level metered. cs[1:0] = 00: channel 1 is selected (default); cs[1:0] = 01: channel 2 is selected; cs[1:0] = 10: channel 3 is selected; cs[1:0] = 11: channel 4 is selected. greg22: global loopback control and pl l power down, read/write (35h/b5h) the pll power down bit (ppd) controls the operation state of the pll block. ppd = 0: the pll is disabled. the device is in normal operation state (default); ppd = 1: the pll is powered down. the device wo rks in power-saving mode. all clocks stop running. the loop control bits determine the loopback status. refer to figure - 4 on page 11 for detailed information. dlb_ana = 0: the digital loopback via a nalog interface is disabled (default); dlb_ana = 1: the digital loopback via analog interface is enabled. alb_8k = 0: the analog loopback via 8 kh z interface is disabled (default); alb_8k = 1: the analog loopback via 8 khz interface is enabled. dlb_8k = 0: the digital loopback via 8 khz interface is disabled (default); dlb_8k = 1: the digital loopback via 8 khz interface is enabled. dlb_di = 0: the digital loopback from dr to dx is disabled (default); dlb_di = 1: the digital loopback from dr to dx is enabled. alb_di = 0: the analog loopback from dx to dr is disabled (default); alb_di = 1: the analog loopback from dx to dr is enabled. b7 b6 b5 b4 b3 b2 b1 b0 command r /w0110101 i/o data reserved ppd dlb_ana alb_8k dlb_8k dlb_di alb_di
28 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 3.4.3 local registers list lreg1: coefficient selection, read/write (00h/80h) the coefficient select bits (cs[7:0]) ar e used to control digital filters and func tion blocks on each channel. the digital filt ers include impedance matching filter, echo cancellation filter, high-pass filter, gain for impedance scaling, gain in the transmit/receive path and frequency response correction in the transmit/receive path. see figure - 4 on page 11 for details. it should be noted that the impedance matching filter and gain for impedance scaling are worki ng together to adjust the impedance. so the cs[0] and cs[2] b its should be set to the same value to ensure proper operation. cs[7] = 0: the digital gain filter in t he receive path (grx) is disabled (default); cs[7] = 1: the digital gain in the receive path (grx) is programmed by the coe-ram. cs[6] = 0: the frequency response co rrection filter in the receive path (frr) is disabled (default); cs[6] = 1: the coefficient of the frequency response correction fi lter in the receive path (frr) is programmed by the coe-ram. cs[5] = 0: the digital gain filter in t he transmit path (gtx) is disabled (default); cs[5] = 1: the digital gain in the transmit path (gtx) is set by the coe-ram. cs[4] = 0: the frequency response co rrection filter in the transmit path (frx) is disabled (default); cs[4] = 1: the coefficient of the frequency response correction fi lter in the transmit path (frx) is programmed by the coe-ram. cs[3] = 0: the high-pass filt er (hpf) is bypassed/disabled; cs[3] = 1: the high-pass filt er (hpf) is enabled (default). cs[2] = 0: the gain for impedance scali ng filter (gis) is disabled (default); cs[2] = 1: the coefficient of the gain for impedance scaling filter (gis) is programmed by the coe-ram. cs[1] = 0: the echo cancellation fi lter (ecf) is disabled (default); cs[1] = 1: the coefficient of the echo cancella tion filter (ecf) is pr ogrammed by the coe-ram. cs[0] = 0: the impedance matching filt er (imf) is disabled (default); cs[0] = 1: the coefficient of the impedance matchi ng filter (imf) is programmed by the coe-ram. lreg2: local loopback cont rol and slic input interrupt enable, r ead/write (01h/81h) the slic input interrupt enable bits ie[4:0] enabl e or disable the interr upt signal on each channel. ie[4] = 0: interrupt disabled. the interrupt generated by changes of sb3 (when sb3 is selected as an input) will be ignored (de fault); ie[4] = 1: interrupt enabled. the interrupt generated by changes of sb3 (when sb3 is selected as an input) will be recognized. ie[3] = 0: interrupt disabled. the interrupt generated by changes of sb2 (when sb2 is selected as an input) will be ignored (de fault); ie[3] = 1: interrupt enabled. the interrupt generated by changes of sb2 (when sb2 is selected as an input) will be recognized. ie[2] = 0: interrupt disabled. the interrupt generated by changes of sb1 (when sb1 is selected as an input) will be ignored (de fault); ie[2] = 1: interrupt enabled. the interrupt generated by changes of sb1 (when sb1 is selected as an input) will be recognized. ie[1] = 0: interrupt disabled. the interrupt gener ated by changes of si2 will be ignored (default); ie[1] = 1: interrupt enabled. the interrupt generated by changes of si2 will be recognized. ie[0] = 0: interrupt disabled. the interrupt gener ated by changes of si1 will be ignored (default); ie[0] = 1: interrupt enabled. the interrupt generated by changes of si1 will be recognized. b7 b6 b5 b4 b3 b2 b1 b0 command r /w0000000 i/o data cs[7] cs[6] cs[5] cs[4] cs[3] cs[2] cs[1] cs[0] b7 b6 b5 b4 b3 b2 b1 b0 command r /w0000001 i/o data ie[4] ie[3] ie[2] ie[1] ie[0] dlb_pcm alb_1bit dlb_1bit
29 idt821054a quad programmable pcm co dec with mpi interface industrial temperature the loopback control bits (dlb_pcm, alb_1bit and dlb_1bit) determine the loopback status on the corresponding channel. refer to figure - 4 on page 11 for details. dlb_pcm = 0: digital loopback via time slots on the corresponding channel is disabled (default); dlb_pcm = 1: digital loopback via time slots on the corresponding channel is enabled. alb_1bit = 0: analog loopback via onebit on t he corresponding channel is disabled (default); alb_1bit = 1: analog loopback via o nebit on the corresponding channel is enabled; dlb_1bit = 0: digital loopback via onebit on t he corresponding channel is disabled (default); dlb_1bit = 1: digital loopback via o nebit on the corresponding channel is enabled; lreg3: dsh and gk debounce filters co nfiguration, read/write (02h/82h) the dsh debounce bits dsh[3:0] are used to set t he debounce time of si1 input of the corresponding channel. dsh[3:0] = 0000: the debounce time is 0 ms (default); dsh[3:0] = 0001: the debounce time is 2 ms; dsh[3:0] = 0010: the debounce time is 4 ms; dsh[3:0] = 0011: the debounce time is 6 ms; dsh[3:0] = 0100: the debounce time is 8 ms; dsh[3:0] = 0101: the debounce time is 10 ms; dsh[3:0] = 0110: the debounce time is 12 ms; dsh[3:0] = 0111: the debounce time is 14 ms; dsh[3:0] = 1000: the debounce time is 16 ms; dsh[3:0] = 1001: the debounce time is 18 ms; dsh[3:0] = 1010: the debounce time is 20 ms; dsh[3:0] = 1011: the debounce time is 22 ms; dsh[3:0] = 1100: the debounce time is 24 ms; dsh[3:0] = 1101: the debounce time is 26 ms; dsh[3:0] = 1110: the debounce time is 28 ms; dsh[3:0] = 1111: the debounce time is 30 ms. the gk debounce bits gk[3:0] are used to set the debounce inte rval of si2 input of the corresponding channel. the debounce inte rval is programmable from 0 to 30 ms, corresponding to the minimal debounce time of 0 to 180 ms. gk[3:0] = 0000: the debounce interval is 0 ms (default); gk[3:0] = 0001: the debounce interval is 2 ms; gk[3:0] = 0010: the debounce interval is 4 ms; gk[3:0] = 0011: the debounce interval is 6 ms; gk[3:0] = 0100: the debounce interval is 8 ms; gk[3:0] = 0101: the debounce interval is 10 ms; gk[3:0] = 0110: the debounce interval is 12 ms; gk[3:0] = 0111: the debounce interval is 14 ms; gk[3:0] = 1000: the debounce interval is 16 ms; gk[3:0] = 1001: the debounce interval is 18 ms; gk[3:0] = 1010: the debounce interval is 20 ms; gk[3:0] = 1011: the debounce interval is 22 ms; gk[3:0] = 1100: the debounce interval is 24 ms; gk[3:0] = 1101: the debounce interval is 26 ms; gk[3:0] = 1110: the debounce interval is 28 ms; gk[3:0] = 1111: the debounce interval is 30 ms; b7 b6 b5 b4 b3 b2 b1 b0 command r /w0000010 i/o data gk[3] gk[2] gk[1] gk[0] dsh[3] dsh[2] dsh[1] dsh[0]
30 idt821054a quad programmable pcm co dec with mpi interface industrial temperature lreg4: channel i/o data, read/write (03h/83h) the channel i/o data bits contain the information of the slic i/o pins (si1, si2, sb1, sb2, sb3, so1 and so2) of the correspond ing channel. if sb1, sb2 and sb3 are configured as outputs, data can only be wr itten to them by global registers greg10, greg11 and greg12 respectively, and not by this register. lreg5: transmit timeslot an d transmit highway selection, read/write (04h/84h) the transmit time slot bits tt[6:0] select a time slot (compr essed code) or a time slot gr oup (linear code) for the correspondi ng channel to transmit the pcm data. the valid value is from 0 to 127(d), corresponding to ts0 to ts127. the default value of tt[6:0] is n for channel n+1 (n = 0 to 3). the transmit highway selecti on bit ths selects a pcm highway for the corresponding channel to transmit the pcm data. ths = 0: dx1 is selected (default); ths = 1: dx2 is selected. lreg6: receive timeslot and receive pcm high way selection, read/write (05h/85h) the receive time slot bits rt[6:0] select a time slot (compressed code) or a time slot group (linear code) for the correspondin g channel to receive the pcm data. the valid value is from 0 to 127(d), corresponding to ts0 to ts127. the default value of rt[6:0] is n for channel n+1 (n = 0 to 3). the receive highway selection bit rhs selects a pcm hi ghway for the corresponding channel to receive the pcm data. rhs = 0: dr1 is selected (default); rhs = 1: dr2 is selected. lreg7: pcm data low byte, read only (06h) this register is used for mcu to monitor t he transmit (a to d) pcm data. for linear c ode, this register contains the low byte o f the transmit pcm data and lreg8 contains the high byte of the transmit pcm data. for compre ssed code (a/-law), this register conta ins total 8 bits of the transmit pcm data. the low byte or total 8 bits of transmit pcm data will be r ead out by applying a read command to this register, and at the same time, it will be transmitted to the pcm highway without any interference. lreg8: pcm data high byte, read only (07h) b7 b6 b5 b4 b3 b2 b1 b0 command r /w0000011 i/o data reserved so2 so1 sb3 sb2 sb1 si2 si1 b7 b6 b5 b4 b3 b2 b1 b0 command r /w0000100 i/o data ths tt[6] tt[5] tt[4] tt[3] tt[2] tt[1] tt[0] b7 b6 b5 b4 b3 b2 b1 b0 command r /w0000101 i/o data rhs rt[6] rt[5] rt[4] rt[3] rt[2] rt[1] rt[0] b7 b6 b5 b4 b3 b2 b1 b0 command00000110 i/o data pcm[7] pcm[6] pcm[5] pcm[4] pcm[3] pcm[2] pcm[1] pcm[0] b7 b6 b5 b4 b3 b2 b1 b0 command00000111 i/o data pcm[15] pcm[14] pcm[13] pc m[12] pcm[11] pcm[10] pcm[9] pcm[8]
31 idt821054a quad programmable pcm co dec with mpi interface industrial temperature this register is used for mcu to monitor the transmit (a to d) pcm data. for linear code, this register contains the high byte of the transmit pcm data. for compressed code (a/-law), this register is not used (when being read, it will output a data byte of 00h ). the high byte of transmit pcm dat a will be read out by applying a read command to th is register, and at the same time, it will be transmitted to the pcm highway without any interference. lreg9: a/d gain, d/a gain, channel power down an d pcm receive path cutoff, read/write (08h/88h) the channel power down bit (pd) selects the operation mode for the corresponding channel: pd = 0: the corresponding channel is in normal operation state; pd = 1: the corresponding channel is powered down (default). the pcmct bit determines the operation of pcm receive path of the corresponding channel: pcmct = 0: the pcm receive path of the correspondi ng channel is in normal operation state (default); pcmct = 1: the pcm receive path of the corresponding channel is cut off. the a/d gain bit (gad) sets the gain of analog a/d for the corresponding channel: gad = 0: 0 db (default); gad = 1: +6 db. the d/a gain bit (gda) sets the gain of analog d/a for the corresponding channel: gda = 0: 0 db (default); gda = 1: -6 db. attention: to ensure proper operation, the lower 4 bits of t he i/o data byte following the write command (88h) must be '0000'. lreg10: tone generator enable and tone program enable, read/write (09h/89h) tprog1 = 0: the default amplitude and frequency coeffi cients are selected for tone generator 1 (default); tprog1 = 1: the amplitude and frequency coefficients for tone generator 1 are programmed by the coe-ram. tprog0 = 0: the default amplitude and frequency coeffici ents are selected for tone generator 0 (default); tprog0 = 1: the amplitude and frequency coefficients for t one generator 0 are programmed by the coe-ram. ten1 = 0: tone generator 1 is disabled (default); ten1 = 1: tone generator 1 is enabled. ten0 = 0: tone generator 0 is disabled (default); ten0 = 1: tone generator 0 is enabled. b7 b6 b5 b4 b3 b2 b1 b0 command r /w0001000 i/o data pd pcmct gad gda 0 0 0 0 b7 b6 b5 b4 b3 b2 b1 b0 command r /w0001001 i/o data reserved tprog1 tprog0 ten1 ten0
32 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 4 absolute maximum ratings note: stresses greater than those listed under absolu te maximum ratings may cause permanent da mage to the device. this is a stress r ating only and functional operation of the device at these or any other conditions above those indicated in the operational sections of this specification is not implied. exposure to absolute maximum rating conditions for extended periods may affect reliability. 5 recommended dc op erating conditions note: mclk: 1.536 mhz, 1.544 mhz, 2.048 mhz, 3.072 mhz, 3.088 mhz, 4.096 mhz, 6.144 mhz, 6.176 mhz or 8.192 mhz with tolerance of 50 ppm. 6 electrical characteristics 6.1 digital interface 6.2 power dissipation note: power measurements are made at mclk = 2.048mhz, outputs unloaded. ratings min. max. unit power supply voltage 6.5 v voltage on any pin with respect to ground -0.5 5.5 v package power dissipation 1w storage temperature -65 +150 c parameter min. max. unit operating temperature ? 40 + 85 c power supply voltage 4.75 5.25 v parameter description min. typ. max. units test conditions v il input low voltage 0.8 v all digital inputs v ih input high voltage 2.0 v all digital inputs v ol output low voltage 0.8 v dx, i l = 8 ma, all other digital outputs, i l = 4 ma v oh output high voltage vdd ? 0.6 v dx, i l = ? 8 ma, all other digital outputs, i l = ? 4 ma i i input current ? 10 10 a all digital inputs, gnd 33 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 6.3 analog interface parameter description min. typ. max. units test conditions v out1 output voltage, vout 2.25 2.4 2.6 v alternating zero, -law pcm code applied to dr v out2 output voltage swing, vout 3.25 vp-p r l = 300 ? r i input resistance, vin 30 40 60 k ? 0.25 v < vin < 4.75 v r o output resistance, vout 20 ? 0 dbm0, 1020 hz pcm code applied to dr r l load resistance, vout 300 ? external loading c l load capacitance, vout 100 pf external loading
34 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 7 transmission characteristics 0 dbm0 is defined as 0.775 vrms for a-law and 0.769 vrms for -law, both for 600 ? load. unless otherwise noted, the analog input is a 0 dbm0, 1020 hz sine wave; the input amplifier is set for unity gain. the digital input is a pcm bit str eam equivalent to that obtained by passing a 0 dbm0, 1020 hz sine wave through an ideal encoder. the output level is sin(x)/x-corrected. typical values are for v dd = +5 v and t a = 25c. 7.1 absolute gain 7.2 gain tracking 7.3 frequency response parameter description min. typ. max. units test conditions g xa transmit gain, absolute 0 c to 85c ? 40 c ? 0.25 ? 0.30 0.25 0.30 db db signal output of 0 dbm0, 1020 hz, -law or a-law g ra receive gain, absolute 0 c to 85c ? 40 c ? 0.25 ? 0.30 0.25 0.30 db db measured relative to 0 dbm0, -law or a-law, pcm input of 0 dbm0, 1020 hz. r l = 10 k ? . parameter description min. typ. max. units test conditions g tx transmit gain tracking + 3 dbm0 to ? 37 dbm0 (exclude ? 37 dbm0) ? 37 dbm0 to ? 50 dbm0 (exclude ? 50 dbm0) ? 50 dbm0 to ? 55 dbm0 ? 0.25 ? 0.50 ? 1.40 0.25 0.50 1.40 db db db tested by sinusoidal method, a-law or -law. g tr receive gain tracking + 3 dbm0 to ? 40 dbm0 (exclude ? 40 dbm0) ? 40 dbm0 to ? 50 dbm0 (exclude ? 50 dbm0) ? 50 dbm0 to ? 55 dbm0 ? 0.10 ? 0.25 ? 0.50 0.10 0.50 0.50 db db db tested by sinusoidal method, a-law or -law. parameter description min. typ. max. units test conditions g xr transmit gain, relative to g xa f = 50 hz f = 60 hz f = 300 hz f = 300 to 3000 hz (exclude 3000 hz) f = 3000 hz to 3400 hz f = 3600 hz f 4600 hz ? 0.10 ? 0.15 ? 0.60 ? 30 ? 30 0.20 0.15 0.15 ? 0.10 ? 35 db db db db db db db the high-pass filter is enabled. g rr receive gain, relative to g ra f < 300 hz f = 300 to 3000 hz (exclude 3000 hz) f = 3000 hz to 3400 hz f = 3600 hz f 4600 hz ? 0.15 ? 0.60 0 0.15 0.15 ? 0.20 ? 35 db db db db db
35 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 7.4 group delay 7.5 distortion parameter description min. typ. max. units test conditions d xr transmit delay, relative to 1800 hz f = 500 to 600 hz f = 600 to 1000 hz f = 1000 to 2600 hz f = 2600 to 2800 hz 280 150 80 280 s s s s d rr receive delay, relative to 1800 hz f = 500 to 600 hz f = 600 to 1000 hz f = 1000 to 2600 hz f = 2600 to 2800 hz 50 80 120 150 s s s s parameter description min. typ. max. units test conditions std x transmit signal to total distortion ratio a-law: input level = 0 dbm0 input level = ? 30 dbm0 input level = ? 40 dbm0 input level = ? 45 dbm0 -law: input level = 0 dbm0 input level = ? 30 dbm0 input level = ? 40 dbm0 input level = ? 45 dbm0 36 36 30 24 36 36 31 27 db db db db db db db db itu-t o.132 sine wave method, psophometrically weighted for a-law and c-message weighted for -law. std r receive signal to total distortion ratio a-law: input level = 0 dbm0 input level = ? 30 dbm0 input level = ? 40 dbm0 input level = ? 45 dbm0 -law: input level = 0 dbm0 input level = ? 30 dbm0 input level = ? 40 dbm0 input level = ? 45 dbm0 36 36 30 24 36 36 31 27 db db db db db db db db itu-t o.132 sine wave method, psophometrically weighted for a-law and c-message weighted for -law. sfd x single frequency distortion, transmit ? 42 dbm0 200 to 3400 hz, 0 dbm0 input, output any other single frequency 3400 hz sfd r single frequency distortion, receive ? 42 dbm0 200 to 3400 hz, 0 dbm0 input, output any other single frequency 3400 hz imd intermodulation distortion ? 42 dbm0 transmit or receive, two frequencies in the range of 300 to 3400 hz at ? 6 dbm0
36 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 7.6 noise 7.7 interchannel crosstalk 7.8 intrachannel crosstalk note: crosstalk into transmit channels (vin) can be significantly affected by parasitic capacitive coupling from vout outputs. pcb layouts should be arranged to minimize the parasitics. parameter description min. ty p. max. units test conditions n xc transmit noise, c-message weighted for -law 15 dbrnc0 n xp transmit noise, psophometrically weighted for a-law ? 70 dbm0p n rc receive noise, c-message weighted for -law 10 dbrnc0 n rp receive noise, psophometrically weighted for a-law ? 80 dbm0p n rs noise, single frequency f = 0 khz to 100 khz ? 53 dbm0 vin = 0 vrms, tested at vout psr x power supply rejection, transmit f = 300 hz to 3.4 khz f = 3.4 khz to 20 khz 40 25 db db vdd = 5.0 vdc+100 mvrms psr r power supply rejection, receive f = 300 hz to 3.4 khz f = 3.4 khz to 20 khz 40 25 db db vdd = 5.0 vdc+100 mvrms, pcm code is positive one lsb sos spurious out-of-band signals at vout, relative to input pcm code applied: f = 4.6 khz to 20 khz f = 20 khz to 50 khz ? 40 ? 30 db db 0 dbm0, 300 hz to 3400 hz input parameter description min. ty p. max. units test conditions xt x-r transmit to receive crosstalk ? 85 ? 78 db 300 hz to 3400 hz, 0 dbm0 signal into vin of the interfering channel. idle pcm code into the channel under test. xt r-x receive to transmit crosstalk ? 85 ? 80 db 300 hz to 3400 hz, 0 dbm0 pcm code into the interfering channel. vin = 0 vrms for the channel under test. xt x-x transmit to transmit crosstalk ? 85 ? 78 db 300 hz to 3400 hz, 0 dbm0 signal into vin of the interfering channel. vin = 0 vrms for the channel under test. xt r-r receive to receive crosstalk ? 85 ? 80 db 300 hz to 3400 hz, 0 dbm0 pcm code into the interfering channel. idle pcm code into the channel under test. parameter description min. ty p. max. units test conditions xt x-r transmit to receive crosstalk ? 80 ? 70 db 300 hz to 3400 hz, 0 dbm0 signal into vin. idle pcm code into dr. xt r-x receive to transmit crosstalk ? 80 ? 70 db 300 hz to 3400 hz, 0 dbm0 pcm code into dr. vin = 0 vrms.
37 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 8 timing characteristics 8.1 clock timing figure - 6 clock timing symbol description min. typ. max. units test conditions t1 cclk period 122 100k ns t2 cclk pulse width 48 ns t3 cclk rise and fall time 25 ns t4 bclk period 122 ns t5 bclk pulse width 48 ns t6 bclk rise and fall time 15 ns t7 mclk pulse width 48 ns t8 mclk rise and fall time 15 ns t3 t3 cclk t1 t2 t2 t6 t6 bclk t4 t5 t5 t8 t8 mclk t7 t7
38 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 8.2 microprocessor interface timing figure - 7 mpi input timing figure - 8 mpi output timing symbol description min. typ. max. units test conditions t11 cs setup time 15 ns t12 cs pulse width 8 ? n ? t1 (n 2) ns t13 cs off time 250 ns t14 input data setup time 30 ns t15 input data hold time 30 ns t16 slic output latch valid 1000 ns t17 output data turn on delay 50 ns t18 output data hold time 0 ns t19 output data turn off delay 50 ns t20 output data valid 0 50 ns t11 t14 t15 t13 t16 cclk cs ci slic output t12 t11 t17 t18 t13 cclk cs co t12 t20 t19
39 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 8.3 pcm interface timing figure - 9 transmit and receive timing figure - 10 typical frame sy nc timing (2 mhz operation) symbol description min. typ. max. units test conditions t21 data enable delay time 5 70 ns t22 data delay time from bclk 5 70 ns t23 data float delay time 5 70 ns t24 frame sync setup time 25 t4 ? 50 ns t25 frame sync hold time 50 ns t26 tsx1 or tsx2 enable delay time 5 80 ns t27 tsx1 or tsx2 disable delay time 5 80 ns t28 receive data setup time 25 ns t29 receive data hold time 5 ns 123456781 bit 1 bit 2 bit 3 bit 4 bit 5 bit 6 bit 7 bit 8 bit 1 bit 2 bit 3 bit 4 bit 5 bit 6 bit 7 bit 8 bclk fs dx1/ dx2 dr1/ dr2 t25 t24 time slot t23 t22 t21 t28 t29 tsx1 / tsx2 t26 t27 note: this timing diagram only applies to the situation of receiving data on falling edges and transmitting data on rising edge s. 27282930310123456789101112131415 16 17 18 19 20 21 22 23 24 25 26 x0 x1 x2 x3 r0 r1 r2 r3 time slot fs dx1/dx2 dr1/dr2 tsx1 / tsx2
40 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 9 appendix: idt821054a coe-ram mapping figure - 11 coe-ram mapping generally, 6 bits of address are needed to locate each word of t he 40 coe-ram words. in the idt821054a, the 40 words of coe-ram are divided into 5 blocks with 8 words per block, so , only 3 address bits are needed to locate each of the block. when the address of a coe -ram block (b[2:0]) is specified in a coe-ram command, all 8 word s of this block will be addressed automat ically, with the highest order word first (t he idt821054a will count down from '111' to '000' so that it accesses the 8 words successively). refer to ?3.1.4 addressing the coe-ram? for details. the address assignment for the 40 word s of coe-ram is as shown in table - 4 . the number in the ?address? column is the actual address of each coe-ram word. as the idt821054a handles the lower 3 bits of addr ess automatically, only the higher 3 bits of address (in bold s tyle) are needed for a coe-ram command. it should be noted that, when addressing the grx ram, the frr ram will be addressed at the same time. table - 4 coe-ram address allocation block # word # address function block # word # address function 5 39 100 ,111 grx ram 3 19 010 ,011 gis ram 38 100 ,110 frr ram 18 010 ,010 37 100 ,101 17 010 ,001 36 100 ,100 16 010 ,000 35 100 ,011 2 15 001 ,111 ecf ram 34 100 ,010 14 001 ,110 33 100 ,001 13 001 ,101 32 100 ,000 12 001 ,100 4 31 011 ,111 gtx ram 11 001 ,011 30 011 ,110 frx ram 10 001 ,010 29 011 ,101 9 001 ,001 28 011 ,100 8 001 ,000 27 011 ,011 1 7 000 ,111 imf ram 26 011 ,010 6 000 ,110 25 011 ,001 5 000 ,101 24 011 ,000 4 000 ,100 3 23 010 ,111 amplitude coefficient of tone generator 1 3 000 ,011 22 010 ,110 frequency coefficient of tone generator 1 2 000 ,010 21 010 ,101 amplitude coefficient of tone generator 0 1 000 ,001 20 010 ,100 frequency coefficient of tone generator 0 0 000 ,000 grx ram frr ram gtx ram frx ram ecf ram imf ram tone ram gis ram c h a n n e l 1 t o 4 c h a n n e l 1 t o 4 c h a n n e l 1 t o 4 c h a n n e l 1 t o 4 c h a n n e l 1 t o 4 c h a n n e l 1 c h a n n e l 2 c h a n n e l 3 c h a n n e l 4 b[2:0] of a coe-ram command word # 000 001 010 011 100 7 0 15 8 23 16 31 24 39 32 block # 5 4 3 2 1
41 idt821054a quad programmable pcm co dec with mpi interface industrial temperature 10 ordering information idt xxxxxxx xx x dev ice ty pe blank process/ temperature range pf 821054a industrial (-40 c to +85 c) thin quad flat pack (tqfp, pn64) quad programmable pcm codec package
idt821054a quad programmable pcm codec wi th mpi interface industrial temperature 42 corporate headquarters 2975 stender way santa clara, ca 95054 for sales: 800-345-7015 or 408-727-6116 fax: 408-492-8674 www.idt.com for tech support: email: telecomhelp@idt.com phone: 408-330-1753 data sheet document history 01/10/2003 pgs. 1, 2, 10, 19, 28, 35, 36, 41 07/28/2003 pgs. 13, 24, 30, 32, 34 12/08/2003 pgs. 1, 11, 34


▲Up To Search▲   

 
Price & Availability of IDT821054APFG

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X